{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "d5f97708-2758-4179-8d42-b81be11b4dbe",
   "metadata": {},
   "outputs": [],
   "source": [
    "options(repos = c(CRAN = \"https://mirrors.aliyun.com/CRAN/\"))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "79c90e81-cc36-4241-a0ec-5540353b1bf3",
   "metadata": {},
   "source": [
    "**功效分析**\n",
    "\n",
    "可以帮助在给定置信水平的情况下，判断检测到给定效应值所需要的样本量。反过来，它也可以帮助你在给定置信度水平情况下，计算在某种样本量内能检测到给定效应值的概率。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "a9657524-c458-434d-bce1-3669e7ed6d9a",
   "metadata": {},
   "outputs": [],
   "source": [
    "# install.packages(\"pwr\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "37fb812b-a449-4bc0-8382-9c2a996ca5a3",
   "metadata": {},
   "source": [
    "**t检验**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "c2a8edf0-315f-4990-bd65-16a417cce7fc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\n",
       "     Two-sample t test power calculation \n",
       "\n",
       "              n = 33.82555\n",
       "              d = 0.8\n",
       "      sig.level = 0.05\n",
       "          power = 0.9\n",
       "    alternative = two.sided\n",
       "\n",
       "NOTE: n is number in *each* group\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "library(pwr)\n",
    "pwr.t.test(d=0.8,sig.level=0.05,power=0.9,type=\"two.sample\",alternative=\"two.side\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "bd5e316c-477b-4c1c-a6b9-2c0feb4cf399",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\n",
       "     Two-sample t test power calculation \n",
       "\n",
       "              n = 20\n",
       "              d = 0.5\n",
       "      sig.level = 0.01\n",
       "          power = 0.1439551\n",
       "    alternative = two.sided\n",
       "\n",
       "NOTE: n is number in *each* group\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pwr.t.test(n=20,d=0.5,sig.level=0.01,type=\"two.sample\",alternative=\"two.side\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "a4f2f3e4-43d0-4aab-b675-282208de9602",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\n",
       "     Balanced one-way analysis of variance power calculation \n",
       "\n",
       "              k = 5\n",
       "              n = 10.8746\n",
       "              f = 0.25\n",
       "      sig.level = 0.5\n",
       "          power = 0.8\n",
       "\n",
       "NOTE: n is number in each group\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pwr.anova.test(k=5,f=0.25,sig.level=0.5,power=0.8)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "03b77a62-0c64-4aa7-8509-f39127752b94",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\n",
       "     approximate correlation power calculation (arctangh transformation) \n",
       "\n",
       "              n = 133.2803\n",
       "              r = 0.25\n",
       "      sig.level = 0.05\n",
       "          power = 0.9\n",
       "    alternative = greater\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pwr.r.test(r=0.25,sig.level=0.05,power=0.90,alternative=\"greater\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "89baca1e-f777-446e-bf94-c22a6f54ffbc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\n",
       "     Multiple regression power calculation \n",
       "\n",
       "              u = 3\n",
       "              v = 184.2426\n",
       "             f2 = 0.0769\n",
       "      sig.level = 0.05\n",
       "          power = 0.9\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pwr.f2.test(u=3,f2=0.0769,sig.level=0.05,power=0.9)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "e8196832-b2f9-4d9b-9e5b-d84f60f0a782",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\n",
       "     Difference of proportion power calculation for binomial distribution (arcsine transformation) \n",
       "\n",
       "              h = 0.1033347\n",
       "              n = 1968.038\n",
       "      sig.level = 0.05\n",
       "          power = 0.9\n",
       "    alternative = two.sided\n",
       "\n",
       "NOTE: same sample sizes\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pwr.2p.test(h=ES.h(0.65,0.6),sig.level=0.05,power=0.9)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "6fb7df83-1940-4288-af4c-05d28386d0b1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\n",
       "     Difference of proportion power calculation for binomial distribution (arcsine transformation) \n",
       "\n",
       "              h = 0.1033347\n",
       "              n = 1604.007\n",
       "      sig.level = 0.05\n",
       "          power = 0.9\n",
       "    alternative = greater\n",
       "\n",
       "NOTE: same sample sizes\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pwr.2p.test(h=ES.h(0.65,0.6),sig.level=0.05,power=0.9,alternative=\"greater\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "28ee88b5-72df-43ba-af21-a26b2350419d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\n",
       "     Chi squared power calculation \n",
       "\n",
       "              w = 0.1853\n",
       "              N = 368.5317\n",
       "             df = 2\n",
       "      sig.level = 0.05\n",
       "          power = 0.9\n",
       "\n",
       "NOTE: N is the number of observations\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pwr.chisq.test(w=0.1853,df=2,sig.level=0.05,power=0.9)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "ed1b0655-df56-4d5a-97b9-de5d15cefa85",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "Plot with title \"One Way ANOVA with Power=0.90 and Alpha=0.05\""
      ]
     },
     "metadata": {
      "image/png": {
       "height": 420,
       "width": 420
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# library(pwr)\n",
    "es = seq(0.1,0.5,0.01)\n",
    "nes <- length(es)\n",
    "samsize <- NULL\n",
    "for (i in 1:nes){\n",
    "    result <- pwr.anova.test(k=5,f=es[i],sig.level=0.05,power=0.9)\n",
    "    samsize[i] <- ceiling(result$n)\n",
    "}\n",
    "plot(samsize,es,type=\"l\",lwd=2,col=\"red\",\n",
    "    ylab = \"Effect Size\",\n",
    "    xlab = \"Sample Size (per cell)\",\n",
    "    main = \"One Way ANOVA with Power=0.90 and Alpha=0.05\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "ba0258d9-bf4d-4a48-ac1d-b00257bbcd42",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1] 0.1 0.5\n"
     ]
    }
   ],
   "source": [
    "print(range(seq(0.1,0.5,0.01)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "d4efe87b-b90e-40c1-80a8-edbcdd7e67fe",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAMAAADKOT/pAAAAZlBMVEX9/v0AAAAAAP8A/wAA\n//9FRUVMTUxcXFxnaGd7e3t9fX2JiYmLjIuVlZWZmpmfn5+mpqaoqKixsrG5ubm7vLvFxsXO\nz87Pz8/W1tbX2Nff4N/j4+Pn6Ofu7+79/v3/AAD/AP///wCw9+IqAAAAInRSTlP/////////\n//////////////////////////////8A/////tcqDQAAAAlwSFlzAAASdAAAEnQB3mYfeAAA\nIABJREFUeJztnQuXoyC0pS/VfZ1kJpPJzaQyNw/tqv//J0d88gYF9RD3XqvblFuQqF+AI+J/\nVBAERes/ti4ABH2CABIEJRBAgqAEAkgQlEAACYISCCBBUAIBJAhKIIAEQQkEkCAogQASBCUQ\nQIKgBAJIEJRAAAmCEgggQVACASQISiCABEEJBJAgKIEAEgQlEECCoAQCSBCUQAAJghIIIEFQ\nAgEkCEoggARBCQSQICiBABIEJVDWIN3PBWOHy3NmcsZY0u0cOk/NaHKCqrrWB+M8rVhRmlFE\nUwYWdfkmOPbrKGeQLqzTdV761UB6FGxaRpMT1LryI7EeSHOKaMzAIoC0mm5s0GNWBquB1GcQ\nnNHkBLUOjM2tmudoThGNGbhtgLS86ivnUlbV+8jYaVYGq52kyTuaU7KVL7lkvy5L5b+yMgap\nP9Rl/+H7xHiX6d2btwM71HXVrWDHRyWsZOe3nMGlYEWbrFd5rfFkp29hu7H+s6SR1gkZjKmE\nX1mtbELptQS8N8jbbffxi9/r7M9SDTReeerG7wO7iKWsj8Dx7tx2TCR9zzHpvCK6DsqwfNcd\n38NNrZEsx5aOMgapPqknsU13FBt69aL9+30ZG3/88Dd/FQNstd6F1j7sV7HjuJ0EkiGNtE7M\nwASSXjah9PpF1pttzVt/6LqH42U6ptE3PnTfQyrlxZzxoS9y+0H6nkLSOUV0H5R++eg2YRJI\ntmNLRxmD1PSRivP3e/jzWDYRCH4u+8uSFcL5HVayQ/cnX/TnpRizrn9c69+7sj6bt8oIkiGN\ntE7MQLtmTGUTS68lOA0plK8xxhbGNMaNv7VSsrtj2+GD9D2FpHOK6D4o6tlgEki2Y0tHGYM0\nnLxD056of0KFeoY1FyZn7fBsFp1V1L9p96K9jNq17SVcnsWrjbV5lS1x/anmujRJTWmkdeYM\nxmJoZdNKLyS414tbnfWVDeUu7s0FJXYjur8MG3NChVIWz+YqPDi27T9I30lKOqeIzoPSLb/b\nhPwUCSA5ji0V5QxSdT90KAldgPFSfEiLzmou/Hv7Q8n6X/Du4hlDFvw09s19CaTL8EuupZHW\nmTMYi6GXTS298Ne5/+29DOXmWZemlLaNhVI2aQ/Xt2Pb/oP0naSkc4roPCjj2Wi2uEsgOY4t\nFWUNUt1e/j43tf6t++tylBsMxgX/MP4mjk2JsZ127Zolw2XVre84MqaR1pkzcBdKL/1YwrZO\neZtcYf+VeeNS32r4w7wtGy5c4TsZdzeliM6DovyEyEfHcWypKHOQuN6nlovvvn4KAYlV+kkS\nznl/r7cQf3x5C+PSp9fSyOuMGbgKZSq9enEZ66tK8qwby1upf5ivYvk7eUAKKKLroASCpB1b\nKsoXpGL8qW2Ob926Zofz7ekGqRwTdP8X8pXWqfxuw1DHMTVvblyGfZvK48vAAZKx9Iaf+0LP\nTjwI9o3lrYY/zNv2Hwpla0NGU4roOihOkBzHloryBek8RITa5sRhbHZV9mu2aQPeh8heNbbK\ndd3PUl4jR8Y0hnVKBi6QjKUfS6h2QMTsOnV/2TbudBQ7OtZt+w/Sdzo6+khhRbQdFM7gQz4b\n39LRcRxbKsoXJN4dbe6s3tvBmt1x9dRIPNrAE4xh7e82lPct/sAdhj7C+PMqcGRMI63TMygd\nhapMpS/FPashsUrIoNOIu3HjTr6onZSX/J30qN3EIpoPStEc10cXpru1UbtvOWrnOLZUlC9I\nwq2LJh56bE5IHze1gtSqENYOdy7Gu6v1dXF8N93aSyVc6p3MaaR1cgbcuTgKVamlVxIMN2vb\nOtgJkm1jrZQ3x7bDB+l7SklnFNF8UM7SgfXcR9KPLRVlDNJ48vhvWH9LnN/lfNiv2bajKo1s\nuHcJxdPS92dtIxtMaaR1UgZnJnULTAu59EqC4ZvKTy4wI0iWjXs9jCMblG2HD9J3kpLOKaLx\noLy7TLtNuwNxkg+S/dhSUc4gtc8jsdO17ec+z3ygw/PddICs1+z3gRUXMeTQDSE73ZWs+Zm6\nCdtJIBnTSOvEDHjlKfQcjAup9EqC7puKA9nEZaX8ZdxYKGUhlNy87ZhI+k5S0hlFNB6U5psf\nv4dN3+dmE/noOI4tEWUN0lRpFxUEJRJAgqAEAkgQlEAACYISCCBBUALtCiQIWkoACYISCCBB\nUAIBJAhKIIAEQQkEkCAogQASBCUQQFpDQTew2jkQS+u6Uhw0y59caideiZnuWymXoZindSdC\nzlcAaQ2FgNTNeyhNRCCte0ggdVe4Zyr6aeUyFPPJZs4HvTcBpDUUAlI/+cnBtu4qgvSUJ7lM\nUy5TZivPzZ+tABIRPZoHuZ+F+NCtvO4oWpduir6ko55MmX3TehCVrADSQjJMw688tMYEDWRI\n1628TrrMCzELXm1wxngviven3l11Jc1r7y6XOHG9PHM+rakRyAogLSPTNPzKBPEySF2f561M\n3jqu4/OinPv3OzykGc77+Qv4A9kdefzda/K89sHlUt4QcJr7+ql9CSAtI9M0/MrEHjJIfW0g\n1jvSuuG9aryGuQ35Nqm7KqipgKqGoLc2r31wuZQ3BNxoTVZPVQBpGTHDhPHfylRTagJpqa0b\nuXgLUeluk3aKqhFRw1xb3nL1UxgpbwhA3C5IAGkZmSaMVyc/lOQF6XzkXDzbebv6l1f0m1z5\nVf/oGmT3pmWnzmvvL9d9+FN8Q8Cb1lsfqAogLSPThPHDxLuzmnad2rg3k7PiV/u5iU1wzC4N\nZUyZ195eLmYrV6HtHbIJIC0kw4Tx1gt2CkiVtPXw4VBf9fxfUWNWKJN+S8knlUtPDlkEkJaS\nPmG8s0Y6tY21pxK1G9edT8J1rYHEXzjT1Ub3IVouzWtvL5eSmfqGAIAUIoC0pOQJ4519JO99\npG4O+0f/CtZ2k/5D2z+6D/0kfV774HKpM9YDpBABpGVkmoa/j9ox06V5N4xskNbdhj+++wB3\nl3Ozo4KN9VzRJTZE7UzlUiauV94Q8EbULkQAaRmZpuFX79fIEsfVjT2fcd2Qurtj1PLWT0Xf\n9H3OraPM6y1NLRxSLvkNAQ+9QoN0AaSFZJiGv58Kvh9BIEsc6d1vYBr93fwx3CXtp6Jv3O9u\nH12dJs1rL3SmtHIpE9fLbwjADdkgAaSlpE/D380Xf7f0OoRnj4YNpGeU+Ii47o8xJtFPRT+8\nwVDIXJzXflhtKpc8cb08Yz2eSAoSQFpfZYJxoOYXdi4hDFoNEkBaT13jiw9OiO6+X6wv7Eys\nOx6jCBJAWk9j7z8egvda79k69fFByCmAtJ6GRxhS/Mav1HXBkNVAAaQVVV55YKw4p2iUrXSF\nI9QQKIAEQQkEkCAogQASBCUQQIKgBAJIEJRAAAmCEgggQVACASQISiCABEEJBJAgKIEAEgQl\nEECCoAQCSBCUQAAJghIIIEFQAgEkCEoggARBCQSQICiBABIEJRBAgqAEWgEkZtPL6sCHH+9H\naPpVvgZINuPlSQgfvsd3XvHz8wdI8PflAyQuAicCft4+QIKgBFro2gJI0L4EkCAogQASF4E2\nNvy8ffSRuAicCPh5+wCJi8CJgJ+3D5C4CJwI+Hn7AImLwImAn7cPkCAogRC1g6AEAkgQlEDq\ntcVYdWFF94re24EdblX1YGf+1719A/aZPRqnuLXblwfDK0QzA4lAGxt+3r4O0pU/BdG88L19\niXz9sWi2OrevwGZF82Jc7vD07GR6NTZAgr8vXwepeFbPgn1X1Tf7z+7jlf/JrYqvvdZ107Gs\nyiP7v3xl/VEXQIK/L18Hibff7ry1duKgcGiqN6+WHnXd8+TV1Lt2ODwl+598+4cpZ4AEf1++\noY/ULxh79R+PNTkX9qwro4Yp4TlYy7OwAAn+vvwwkO41QsWhOhzaVt7HgQRBkXKCNK5hhwe7\n1JVSeeCtOoEegARBlQkk3ue584D3aewu1Qid67/q1U0kvHW67YOyDRBAgjKWLWp35/G5IYBX\nPep2XFMVNQg1TnXjiH0ESD8E2tjw8/Z1kJq7R80t1uE+Uq0DOzRrimp0iv/3ISBVrx93QgIn\nCj5t39BHOjXDGbj+qxg+Xpu7rlc2jnlg5/cLIMGH74raxeYPkODvy/8EkB7XdsjS6WK8OTwK\nIMFfys8fpPIgzJR8dG5qLdWPByQI8sgJUrpsAzQXpAsrvp/Np/e9MIyfFQSQoKWU//NIBXsO\nn59dVNEie6lAEhSn/EGS6lB3heroI7lBItAGh0/bz3/OhhQ1EkCCH+nnD1LdR7q/m0/z+0gA\nCX6knz9I3TCLVgfTU4aDXlxYYrnAki2T77r3kS7NfaTidJ1/Hwk1Evwo/wNqpHA5SoWwHRSl\n/KN2EwSQoKX0CSDFDxECSFCk8gcpxRChlwckAm1w+LT9/PtIKYYIAST4kX7+ICW5IQuQ4Mf5\n+YOUZIiQp5NE4ETBp+3r1xaTZUp3KVhxKeX8H9KW2dVIAAl+lG8A6Z8o07XXDiU4SPmXxVYg\npRgiVCFsB8VpBkiPbnYhKdZ8YluBNGGIEECCltIMkC7dlFxXYd032w6kBEOEKoAExWkGSCfG\nW1JP8a1Ibz6Jlztbrzae+xt9JPgx/gyQxqmMh/yP7E0VJG/khAsgwY/0k4DEZ9bfsmkXP4tQ\n5SaJwImCT9tPAdJTn7s4uyFCAAl+lJ8CpENRbghSmiFCAAl+lD8DpEIB6dxE8TYDKcksQhXC\ndlCUZkft3kPUztSXz2yIEBdAgiI0A6Rr996kvhW1MUiokSACmjHWzjiyYdM+UvwsQvw/B0kE\n2uDwaftzRn8f+gDZS8An6yFCAAl+pD8HpLIZ/V1RASl8iJB7+qOfHwrTOmGZ5/ITpuMKFmok\n+Ev5+T/YN0EACf5SPkAahLAdNF/5zyI0QZ5SgSRotgDSKIAEzVb+IAXMMeEtVdtGtYNEoA0O\nn7affx/pBpDgb+/nD1L1LNwPT4wCSPCX8j8ApOrpHhg0CiDBX8pPMq+dvum6wYabMG7VJYAE\nfynfANKvqJB57Z5bgxQqX6kQtoPmagZI2uhvaUIhW7ZeASQoY80ASZvX7iZNcWfJ1iuABGWs\nGSBp89rd2M2frVebj7VzgESgDQ6ftj8DJG3ykxO7n9vnKsZtPHs2CCDBz9hPA5I2FRZAgr8v\nPwVIjH3zp/3EBl6eIFlJInCi4NP2U4DUquQB8WEbz54NAkjwM/ZngKTOazck3GYWoQnylgph\nO2imZkft3trNI4AE7VczQFLntaurKD53j0QWQIL2pRTz2l04U2V7n9aarVfoI8HP2E8xr11Z\nNCvEG0k0QaIwbROWn7mcMx3Xf//v/2T/eWn+bkB68RWHW+7TcXFZqiQCv3jwafuf8DxSsAAS\n/KV8gMQFkOBH+gBJEsJ20DzlP4vQBAEkaCkBJEkACZongMQ1tlHNJBFog8On7aOPxAWQ4Ef6\nAIkLIMGP9AESF0CCH+knmdeuep4ZO7/FTDx7Ngggwc/YN4D0R1TIvHbVvVlRCO9vzQykUQjb\nQbM0AyT9reZFvaI8iaNWswUJJEGzNAMkbV677wahkhWubL0CSFDGmgGSNq/dWZ96OzOQhDaw\nESQCbXD4tP0ZIGmTnxxYdS3YuRS38ezZIIAEP2M/BUiMNTPbFeI2nj0bBJDgZ+ynAYkHG87i\nDOAACf6+/DQg8T7S+wPmteMykUTgRMGn7c8ASZvXbiRrzMSzZ4OIRO0QtoPmaHbUTph96wSQ\noL1rBkjavHbtirc4iz5AgvalFPPa1b2jkgcbvl3ZekVlOq4aJArTO2GZ13LOdFz/o5vX7tVP\nx/V/2hXCdjRBQrAB/lL+nMcoymb0d+N3Ndb9+BEvGmsEkODP8PE8Epf0RQwkEThR8Gn7AIkL\nIMGP9AGSJoTtoOnCLEKaABI0XQBJE0CCpgsgcaGPBD/SRx+JS/4iOkkEThR82j5A4gJI8CN9\ngMQFkOBH+inmtTNsC5Dg78s3gPRXVMi8dj1HHzGLUIWwHTRDM0DS57VrdBdXACRoX5oBkjav\nXaOyOAl/ZQ0SSIImawZI2rx23drPmI6LSwOJQBscPm1/Bkja5CdcT/Ypj1FUAAn+dD8VSHKF\nBJDg78xPBNKTneVtPHs2CCDBz9hPBFIbgBC28ezZIIAEP2N/BkjavHbjujETz54NQtQOyliz\no3ZvMWqnhvCIgkRhthksP3OpzyKkg6Sku7L/Wy/v7DKu/y/2X/J2NEEKLhWqJGiiUsxrxysp\n5Q1JmYGktoFVkAi0weHT9ueM/j5089pVw3RcBzn4DZDg781PM6+dVnFlDpJKEoETBZ+2j+eR\nuAAS/EgfIHEBJPiRPkAyCmE7aJowi5BRAAmaJoBkFkiCJgkgceltVBkkAm1w+LR99JG4ABL8\nSB8gcQEk+JE+QOICSPAj/RTz2nVDHT5nzgYuiSQCJwo+bd8A0peokHnt3kU7rd1byMSzZ4No\nRe0QtoMmaQZI2ujvczPxyUV82hwgQfvSDJC0ee0MI1cBErQvzQBJm9euf/Y83ymL0UeCH+nP\nAEmb/OTaNe2EqVdXBelxPTWdtNPl4d5wCkgSSQROFHzafgqQqhuPNhQ3cRvPng2aC1J5EGKM\nR+emAAn+Un4SkK7NRSzOBb4iSBdWfLcPur/vhTzfqyqABH8pPwVIN375lmcmVEkrglQI80U8\nxX6aLoAEfyl/BkjavHbtjA0lv7M0ZOLZs0FzQZLuGZtvIPeaNM1SDRKFaZ6wzGNpmI5LA0lJ\nd2L/r16+2alfz1izbBbddpnVSEYhAA6Fa0aNdG3uI93H7khbRZUbhb/rPtK9HVMxv49kFECC\nwpViXrsL4+PsLuJFvGb4+yiU9lC6tpzURxJBItAGh0/bTzKv3VELPa97H+nS3EcqTteU95EA\nEvwJfpp57foVg/If2VCJJBE4UfBp+3geiQsgwY/0PwGkZYYIAST4E/z8QUoxRMgshO2gYOU/\ni1CKIUJmASQoWPmDtNgNWZAEhSt/kDxDhLwTUHBZ2qgDSATa4PBp+/n3kZYatFoBJPjhfv4g\npRgiBJDgR/r5g7TYECGABD/cTzKvHV9xvEuZePZsELkhQtVIEoETBZ+2bwDpR1TIvHbdio2e\nkJ2gyaVC2A4K1AyQtNHfN3Ys+ROywpvNARK0L80ASZvX7tgw9d7qMYr3mRV1WW4HZeCsLoAE\nLaUZIGnz2vWTOAjjc9YcItRMmHy7pp5FiAt9JPiB/gyQtMlPtp1ptXmg8FKwc928vKQNfw8k\nEThR8Gn7KUA6NFXUYyOQ2gfdWTMBSzXvhuwXQIIf6acA6cpOZfU8bgQSY3KhXJvajNeXxQBI\n8MP8FCBVTS/ltHGNxP8v3TUShWmbsPzMpWE6Lg0kJV3RTrvVzr7VrP/v/8X+87rVdFx9H0mb\ngEWXtVRfnhoJgjyaHbV7j1G7Vs+NJohMEbWzggSSoDDNAMkwrx3v6N9EsnK7j4QqCYpTmnnt\nzvXaA/t2ZevVppOfeEAi0JmFT9tPMa9d27iSmnoACf6+/CTz2tWNK3babvR3sGaA1JJE4ETB\np+1/wPNI4QJI8JfyARLXyxNtIHCi4NP2AVIrhO2gKOU/i9AEASRoKQGkVrglC0UJIHE5+kgN\nSATa4PBp++gjcb08bTsCJwo+bR8gcQEk+JE+QOICSPAjfYDE5QKJk0TgRMGn7QOkTgjbQTFC\n1K4X7iRBEQJIvQASFCGAxMXbqC6QCLTB4dP20UficoJUk0TgRMGn7bOF5NmzQVuD5KqSCJwo\n+Lv0aYLknlbp68vi/1CY7gnLfS6nXeFcqJHgw1dFs0ZylwphO4icPgokkARtpRxBQpUEkVNm\nILVtVDtIdNvQ8D/bB0jw4SfwARJ8+An8zwKpenk6SXRPBPy8/SxBspMEkOBv42cGUieE7SBi\n+jCQQBK0jQASBCVQZiD5+0hukOi2seHn7ecJkpUkgAR/G//TQPK07eieCPh5+wAJPvwEPkCC\nDz+BnxlIg3AnCSKljwMJJEFbCCBBUAJlBtLQRrWA9PKARLeNDT9vnyZIUbO6/ESmxxLLGctJ\nF3gjEjWSpUrivqtKovuLBj9vn2aNBJDgZ+YDJPjwE/iZgTTKHrZD3A5aXwAJghIoW5BwJwmi\npMxAEtqoRpAa3wES3TY2/Lz9TwTJQRLdEwE/bx8gwYefwAdI8OEn8PMFyUgSQIK/jZ8ZSKIQ\nAIfoCCBBUAIBJAhKoMxAktqoBpI63woS3TY2/Lz9zwTJShLdEwE/bx8gwYefwAdI8OEn8D8U\nJBtJdE8E/Lz9zECShbgdREUACYISCCBBUALFgvS4HBljx8sjVYEaBU6D9EVhGiYssewWEyWA\n9H1gvQ736TlZFRZsMNRIo2+ukuh2VuHn7cfUSO8jO96eZf2pfFzrz+/peU0tlfJFNJIAEvxt\n/AiQ7uxSCqvfF5asUgJI8DPzI0A6lYpRnqdnZlYCkMwk0T0R8PP2s47aucJ2iNtBawogQVAC\n5Q0S7iRBRBQL0nUIgKcqEVdoH0kDSfRNJNFtY8PP248E6TrcRwJI8PfsR4JUsNv0DPwKBkkl\nCSDB38aPBCltRTRmazOmgGQiie6JgJ+3HwnSiak3k5IIIMHPzI8E6V0c0w5XbRVeKgTAIRKK\nbtqtG2zQhQA4REGfDBJIglbTqjdkH9dTw9zJ9/hSeB9JAUn2dZDotrHh5+2vCFJ5EOqvo3PT\nCSDJJAEk+Nv4K47+vrDi+9l8et8LdnFtCpDgZ+av+DxSwZ7D5ycrXJsmAkknie6JgJ+3v+IT\nslI8wh2cAEjwM/Pj+kiT5mxIUSOZhAA4tL1WnEWo7iPd20prdh/p71/DSoAEba81w99HIWp3\ncA4tmjQdUg0ShemYsNz30nU9mxVxH+nS3EcqTtfZ95E8VZL6ddQqiW4bG37efmZPyE4FSSWJ\n7omAn7efHUgGkgAS/M393IYIAST4JP3chgh54nb6F5VJonsi4OftrwhSiiFCkwPgiIBDq2hF\nkNLckPW07TQBJGgNRYN0P/HRPqeACfQ9Q4SYKHsuqJIgiooF6dhe9qzwk5Rm0KobJEMbVgKJ\nbhsbft5+JEg3diw5SDfmn0A/wRAhgASfqB89r13ZttJCHjUPHyLkGv3t7CSZvqhIEt0TAT9v\nP8G8dsEgpRgi5OkkAST42/iRIB26GunJDtMzsgsgwc/MT9NHuieeuthVqslhO8TtoOUVG7U7\nBY1UaFVeeKiOv7/i+B1Rqql3kgAStLyS3EdiJw8Yjd5FXXeVRdQQIS7cSYLoacWRDWd2Kuv/\nzu+aqXPELEIukMxt2JEkum1s+Hn7K4LE+IT7rJ11v4yZRcjRtgNI8Lfxo8Pfx/6DN12zScFC\ntp8OUkcSQIK/jR8/9/ex++BNd+ZDhK7tOKHS3UlKDNJIEt0TAT9vPxqkc4tEAEhPVlye1amo\nSbof3JNJAiT4mfnxIxuOzTC7kJEN92IcInR1bunJDAFwiJoSDBE68ghc2Gtdvs/NU7Knq2es\nuGf6o7/G9V/edFhiSXQ6roYfTtKq70fC4AaImpK8jLlgl5VAarm3g2T7XehBotvGhp+3nwQk\nPmZhTZDsJFm/aEcS3RMBP28/zQ3ZZvRPQgEk+Jn5uU0Q2S4AEnxifgRI7UN9676MeTZIHUl0\nTwT8vP3MQOqFuB1ES5k17XoBJIiWdgMSSIKWVAxI5aVJ/TiwIumD5iHvkLWQ5GjjNiDRbWPD\nz9uPAamNed+DHzUPF0CCn5kfARKf+KReFMWzKo8s5GHzYC0BUkMS3RMBP28/AqQj40NPH81A\n7kfaKgkgwc/Mjwx/84mIH+MfqeQHyUISQIK/jR8N0oEJf6RSQGaI20GUFAHSgTft3u3s+Z7J\nTKYKIEGZKQKkCw82nNtnxkPeRjFBAAnKTBEgtXM9NkGGGxPefZRAAX0kM0kvD0l029jw8/aj\nbsieWTvPI2Pu+R4nCyDBz8xPMkSInTyvaZmqCJDc4+3ongj4efuZjbWLA6kCSPAX8mmCFDR7\nS00ShdljsMSyW0wUhdHfXMYqCc9SQJuIZo20FEggCVpIGYOEW0kQHWUGktQSNYD08pD08pBE\ntzMLn7YPkOz5w4cf7O8NJE/jju6Jgk/bT/IO2ao6eWbFn6gwkAwkcd9FEkCCv4wfC9KxnYmL\nFUlJAkjwM/MjQeKPm3OQ1h/9zTUnAI7AHbSEIkEqWNk+07f6g31cZpAQAYfWV4K3UWwHEqok\niIoiQTp0NdKTHZIVqQruI+kgtb6dJO67QKLbBodP20/TR7oXLOkUkYuC5CKJ7omCT9uPjdqd\nuin0154gshVAgk/ET3IfiZ2STg8ZDpJGUudbSQJI8Jfxcx7ZUM0EyUES3RMFn7afGUiaELeD\nSChqgkhJ25Rq1q0kkASlFkCCoATKrGmnt1FlknrfBlLnW0Gi2waHT9v/UJBsJPW+jSS6Jwo+\nbT8apG8e/j7fp2fjEkCCn5mf5DEKfidpej4OTZoO6e/E7bHEcoHlpAu8kQjShRW8MtpqiBCX\nVCWNvrlKGnxLlUT3Fw8+bT/6MYp28vyVBq3++aOvmxe3Q+AOSqoEj1HIH5LImlk6kgASlFKR\nIF2GGilpJwkgQZkpNthwbfpIj2Kt0d8GkkSQhDasESTBN5JEtw0On7Yf3bRbZHTDJJBEksQv\naiIJIMFfxt8vSEaS6J4o+LT97EY2uEkCSPC38T8YJBNJkm8gie6Jgk/bzwwk3EqCaCoWpEux\n9mMU4SQBJGg1Rd9HWv15JFRJEEFFR+2SjrEbsrUZLw9IchtWB0n2dZDotsHh0/ZTDRFKK+eg\nVRdJ00DSSaJ7ouDT9qObduX0DPxKBJJOEkCCv4wf/TzSMe2bkVoBJPiZ+bEg3dcNNjRfxEHS\nRJA0kuieKPi0/UiQrlvMIoS4HURO0Q/2rRu1a5QQJJAEpVFmUbtWqJIgaopu2q0ftXOBpLVh\nFZD0Nq5MEt02OHzafvSDfcfH9By8mgFSS5L+RWWSABL8Zfx0zyNNz8iuWdMBPxOoAAAfbklE\nQVQizZ2W62dmOiyxFJbTrnCuFUDyTcdlbdsZvo5UJRl8qUqi+4sHn7af2WMUDpAakmaAJJFE\n90TBp+1nBlKvCXE7BO6gFZQKpMc603H1SgkSSILiFf1g3zbvR7LH7QxClQQtrmQP9iV9H4V/\n7m9LlWRswwogmdu4I0l02+DwafvRQ4S+qyN7v48s6e0kgAQ/Mz/BEKFrXRs9WdKpVueBVJNk\n/qIjSZYDMZBE90TBp+0nAOnOB66uex+pslVJAAn+Nn4kSKe6afdmh+pBGqSRJNuB6Emie6Lg\n0/YjQbpzgJq39p2nZ2RXQKmSxu0QuIMiFT1olWdwZuySqDytQko15VYSSIIW1qojGx7XU/vC\n2YsnxgeQoMy0IkjlQRji6g7yhbxD1ti2e3lIsrdxW5LotsHh0/ZjQCovTerHgRUhD5xfWPHd\nvt/vfS/cbcGglzGbSAJI8LfxY0AqmlDdPaCG6TZ/Dp+frHBtGgGSmyTHgWpIonui4NP2I0C6\nsSN/zrwonlV5ZN/edFKE3B0uB0jwM/MjQDoyPjfkg12b//1VUuoayUTSyxMBdx0oThLdEwWf\nth8BUlupXNpRdgE3ZOs+0r2dlnV+H0nSpFtJCNxBSyoapAMT/nDrKETtDs7ZhyJAmn9TFiRB\n8xUB0oE37d7tkIbS3VTr9Lg095GK0zXBfaQKVRJERxEgXXiw4dw+iHRLO0QocPaWP8b1/GkK\n0/oaJE9+PxRmo8Eyz+XUa3wEqSyGuPeNCYGEBAoLNhhqJO67qiT31/35oduZhU/bj7oh24+x\nY4Fj7eKHCClfRCOp8R29JM+BAkjwZ/pJhgixU8jzsYmHCHFNA6kmyQuSp5tE90TC39Zfcaxd\n6iFCVXqQKoAEf56/IkgpbsiqmhYBRwgcWkorguQZIsREheYJkCAayrxGmnxTFiRBi2jdPlL0\nECGtjaqA1PnWKunlAelVg+QiiW4bHf62/ppPyCYYIqR/EZmk3reR9PJUSS9PlUT3RMLf1l/3\nUfPoIUIrgOQkie6JhL+tn9nbKAxfRCJp8C0kvTzxhhYkO0l0TyT8bX2ApOcPkOBP9jcByRve\nnlSq5CFwRO6gyQJIBgEkaKpWvSEbfM/VZv7+mtZOeywJJEELaEWQHkU0SNXLRJIAktCGNZLE\nfddd2S69Nd5At40Of1t/zaZdeWLH5o7s/KZdCpBcVVKfHiDBn+av20f6Zs20XTEguUkSv6iJ\npNa3kzSkt5BE90TC39ZfOdjwPrJTCZDgf5y/etTuyop7BEjmeMNAkvRFDSR1vpWkMb2ZJLon\nEv62/vrh7+fB/5iEw/dUSaIiA3eI3EHh2uI+0jnqPtJ6JHk3gaBeNIcIOac/+vX44/Jv1DRL\nNUkUpnnCMo/lxEu82nysnfOmrPJ1tCpp8C1Vkpje1Lij20aHv61Ps0ZyDlp1te1SgmRq3NE9\nkfC39T8FpI4kDSSFpNE3kySn10mieyLhb+tnCJKrSlK/qAskE0kACf48/8NBUkkS/ACQdJLo\nnkj42/qZgdQqSQQcN5OghPp0kOLuJYEkKFBZgrRelYTbslCYMgOpa6NaQTK0YSWSJN8Akp5e\nJoluGx3+tv4HgcRJMoIkkCT7OkkmkH6cvi89/H34eYJkrZJMXzQOJJkkuicS/rb+J4FUk2T8\nogJJiq+RZEoPkOD7/UxBslVJk0FSSDKmF0iieyLhb+tnBtKgCfMJxYbAEQOH/MoVpET3kkAS\nlEafBtL0KimMpICNoD0rM5CENqqRpJcNpL9a+k4ySLY2cE8S3TY6/G39jwPJXSUZDoREkh2k\nH6fvSw//0/2dgNSTZARJIMl6oDqS6J5I+Nv6+YJkJOnliTeYDoRIkv1AAST4AKnqSTIeiCCQ\nWpLonkj42/qZgSQp0b0kxMCheNEEKWwapN9f4/o/lu3/WvP7CtpfTRKFaZ+wpLmcfJHTqZGm\nVkmRt2VxNwmyi2aNFPgOWR0k7rvuytp+N3qS3L8rdZXk9Cm34eEv62cNkk5S4zviDXaQvkz5\nKwJI8G36RJAc8QbrgQgCqfp5eVp3dE80/GX93EH6Nfn2Ksl+IFqSvAfS00+ie6LhL+vnDZJW\nJXW+tUpygfRlyF/bvycITvdEw1/WzwwkTZMCd56bSQjdQbP1mSDNCYEHxsBBEmRS7iAlrJKC\n7yaBJEhTZiDpbVQZpMG3kPTyNO5C2sgukui24eEv62cPkkxSAEhOkoIOpIMkuica/rL+p4Jk\nIenl6SaFHUg7SXRPNPxl/fxBkkgSQTKR9PJE7l6eblKXP0CCr+gjQPo1+TaQnCS9PAGHPn8b\nSXRPNPxl/cxAMmpaCDxRDByhO0jUJ4A0MQQOkqD0+mCQXCTZ8woc4ACSIEmZgWRpow4kSb4B\npM63kvTykCTkbySJbhse/rL+J4NkIGkAyUIS910kifkDJPijcgPpn3l9T1IgSNYqqfEDQTKR\nRPdEw1/W/2iQdJIG30JS69tJUkDSSKJ7ouEv62cHkpskDSSFJAEkI0k9SDaS5Px1kuieaPjL\n+jRBWmUaJfv0XFhi+fHTcXmqJFXWELjviQoEwaEpolkjzQLJcld2LkkOUxBIghplBtLLUyXp\nFaxMkuibukmjbyZJz18miW4bHv6yfo4gOUgyfFErSCaSRJBMJBnyl0iie6LhL+vnB5KzSjJ9\nUZEk2XeBZCbJlL9IEt0TDX9ZP0OQXCSZQRpJUnyNJNE3kWQ8kAJJdE80/GX9HYAkkqSBpJAk\n+aEgCSTRPdHwl/UzA6nVxBC4MwaeInSH2B20C5DmkhR6NwkkQVmCNKNKWva+LEjavTIDqWuj\n2kLgvy9P487QxpVIUn2VJHsb+QfvmN21nydI1irJBlJPkhEkgSTNV0hyHOiGJLonGv6yfqYg\n2Uh6eRp3pgMhkqT7MkmuA81Jonui4S/rfx5ITpKMB0IgyeBLJDkP9A/e6LdfP1eQLCS9bINX\nu8ad+UCMJJl8kST3gQZI+/UzA2mUrZc0JwbuDt0hdgf5lS1I00lyxMBBEhSpnEGa9mSS525S\nOpKA0h6VGUhiG9UEUuM7SLK2cTuSbH5Pkr8N7SaJbhsffpyfMUgmklrf3k2yH4iWJKv/FfjW\n8wovItun/5Eg2btJL1c36a/rQAW+9Zz/hxeR7dCnCVLg7C3/ks4GU4Pk9GuSAvP7oTCrDZbr\nLqde44RqJEOV1Pu2KunlCd25DgevkwJ/sawdJbq/qPDjfJo1UmiprCFw192kuaG7CbE7xMF3\np9xBst9MAknQisobJOIkAaX9KDOQtDaqApLgG0FqfAdJLw9Joe+Y5TKRRLeNDz/Ozx0khSTR\nN5HU+naSXp466eWpk+TyYZL9/fgfANI/i29q3HW+HSRP6+7FW3dhb/Tj0kiieyHAj/OzB0km\nSfINJPW+jaSXp5/0qtwkqeVTm3d0LwT4cX7+IFVWkAyNuxEkM0ncd5HUpHeQpJVPIYnuhQA/\nzs8MJKNm3E3yPFPhjjhMCt4hDr4PrQrS43piXKfLw73hVJCmx8B9JKULgyMOvgutCFJ5YKOO\nKUsFkqCttSJIF1Z8P5tP73vBLq5NJ/WRKqFxp/kKSaJvImnwne+YrawkWco3kES3jQ8/zl8R\npII9h89PVrg2nQrSQJLuyyRJvoGk0TeTNPrm4J2tfH2lRPdCgB/nrwgSY7Y/9E1thh2kfzZf\nIkn2dZIE30iS4BtJsh7oH8zE+tn+h9RIPUkmXyRJ8TWSRN/9aszK2LxznAjMxPrR/rp9pPu7\n+ZS8j1T1jTujL5Ck+ipJku98NSaXTpLrRPxgAskP9tcMfx+FqN2hdG05o1SOu0lzY3eJbygh\nevfJWvc+0qW5j1ScrknvI7Wyx8BdN2bjSQJKUPUZIxs6gSRoO2UGkrMNW4Nk8/vGncl3vKxZ\nuzVrSC+h5G9jY967z/QzGyLk/qL//ln9jiSjb39Zc6WSZEovkhRwIpwk0b1Q4Lt9mkOEZk6L\n5J6e69ea7o8zXU2SZ79f08r5g+m6PnDpvKCNIjhEqNe/lyd0Z0n/54/9jX6+9ydxDZVS2C/a\nD6br+jj/U27I9r4nCG5N73ijn9i8s6b/mjATa2Vv39G9UOC7fTpDhJiombvwhe7ssTtv8M4T\nvZsavkP87sOUWY3k1zIk+ePgiITvW5kNEQpQNiQBpU9SZkOEQtqwLpKsbz3n+uN4f1LXvPPs\n/+vlIUlOrwcd6PYB4Lv9zIYIBX1RB0n2t55zOUFqSPLuf9K8dzpKdC8U+G7/k0Y2DL6dpOat\n547hQo73J1UcpRCQXCTp6WWS6F4o8N3+R4JkHwn+qtwkOV/7UpP08nSUXhPnveMSUaJ7ocB3\n+2uCVJ4ZO967/aZ9Qlb1bSQ1voOk1x83Sd4pjSs3ScbyC+07uhcKfLe/5hChoh1o1+53Hkih\ncgUcYoN33ujd5PCdY6gDlIlWDX/fappuRTPMbmGQIkmKRWkySQiF565Vb8g2i3dxeC8P0sYk\nAaW9aYMhQuXxuHgfqbKQNPgWkjrfSlLr21Ea9z9tui4uzOmQs78iSAfW34Q9HFcAyUjS6JuD\nd71vq5Q630qSuH8TSu7y1yB5aiW6F9Le/RVBurFz9+nNjiuAZCJJ8I0kDb6FpMG3oCTt30CS\nt/yeBh7dC2nv/prh78tAz90zwDsNSAaSJN/x/qTK0rwbfTNJSvk0lPzldwfw6F5Ie/dXvSH7\nPPWf3uc1QNJJkn2dJNE3VUqib0JJLd+XglJI+V0o0b2Q9u5nNrJhqtyxO3fwzhe9Cw/fTYzf\n4bZShvpwkDhJnjA4UIIS6NNBWoEkoARlB9KcNqxIksF3vK2CS0ZJ9/3TdXH1KE0pvwklun2E\nvfs0QUo7XdI/zzRdv79Onz/v5/L903W1yxqlieXHtF0ZLadf5bnVSGLzzugLzTujL1RKRl9o\n37nKxyulqeX/Uaolur/Ie/dp1kiJQRpJsvgDSWb/j3veOwEld/lqkDx9JT29jBLdC2nv/j5A\ncr6IjKuvlGx+T5I1/44kb/kmP0Fb4XmlLPzMQJov/x0lV/TOH78LC4XPi+AhhEdfuwHJFwf3\n3JwNJGlZlMASXe0HpBCSgBI0U5mBFNfGdbz2hYvHwZ3p//x5eVB6eVDq87eh5N5/85iFkyW6\nfYhP93cFkvNtFVy/zgkkef6+yVE8tdJYPjNK3u/nqZboXmif7u8LJP62CidKL0/77uVp3/H9\nu1ASy2dCKeD7OZt4dC+0T/d3CJKLJM8Ekk3+LpTa/dtRksunoxT0/X7sLNG90D7d3xtInpgD\nT+9Cqcn/jx2lfv82lNTyfSkshX4/G0p0L7RP9zMDKYV80buGJH/8zh11mBbBmxzCqxDFI6Yd\ngpQMJc9eQlGaFw2vnE08aG3tEiQ/Sf6bSiRQQrVERpmBlKyNa0FJSO+eZagyt+/U/f9VWLKW\nr2vhzfh+Ekt0+xCf7u8VJAtJYnpT+07OX0dJ37+MkqN8X3Mes2gkNPHoXmif7u8WJDNKcnod\nJTX/PwpLxv0HPq/UPWYx6UVlvXqU6F5on+7vGCQTSWp6FSU9fxkly/4Dn1eq2scsHCg50v9g\nymOApGodkAwo6elllIz5CyhZ99+18ALK54yHO9P/YCweQJK1dNRu0D9//C4gFh5yX0mLO9j1\nNfveEiLim2nnIIVEwsNRSs1SyJaafgDTFto9SFRRAkt5iSZI606n5Jmuq1/6pu3iL0UPySd0\n+q5q8vRd8pJ3mVY9jvteTr/KPyjY0GvoKrnS/3of/Kva55U8j1l01ZKxXlLzV7tLk76foV6i\n21nP3adZI60N0tC+c6f/9T/452nh9fnbUDLs/0uEaer3U1mieyHm7gOkXg1K3vSezlKTPuAx\ni8rCknn/I0szvp/UYaJ7IebuA6RBnCR/+l8nSl16K0pS/oYmnn3/X/OHEAks0b0Qc/czA2lZ\nhdxVqoJCeGExPGd3SVfE/SXcYVpaAEnSvzCWEqLUszQlJh7HEmBaQgBJ0RSUtmQp7g4TYEqt\nzEBapQ3sQElIb0RJzf+PwpJ9/y1KYeW3sxSS3gUT3T4IdR8gmXwrSnJ6nSVD/n9EmJz75yB5\n6qUxvZml0O9vg4nuhUrdB0hm39LCU9OrKJnzH1ny7t/TxpPSGyqmKd//x0AT3QuVug+QbL4R\nJUN6iSV7/i1KAft3dpjU9F8KTDNv2OIJ22gfIDl8nSVj+t+RJWf+f5q5w53Bhza9nSVT/iJM\ns76/ABPdC5W6nxlIa+tfyiBepQcf7Jp0h0mrmWbI1NKDggWQfPoXCNNEllJHxQWYUtA0P4ud\nCiAFKJCl3+VYmg7TfJwA0xxlBtJ2beAWJW96D0tjejNLpvxFmILK76AJ4fGlfIAU7nOQfK+F\nGeolM0xS/oaKybb/nqUJ5TfChPD4Uj5AmuZ7mnhtejtLav5/FJhc+//b3bANeSNgL4TH1/IB\n0lTf2V0a05tZMuUvwhR4wzboRWa9EB5fwwdI031H6EFKb6iYbPn3LIXs3xWAsKXvWYr4/i1I\nnigEifOziZ8ZSFQUeHtpYCkglKc181yaGs3jShoeR1BPEU2QKMwK413+mzj70G9gvrxiCtmu\nn42IT+A6pdxfkbMTVd3sRD+YpUhcTr/KUSN1Cr1VW61QM02pnFLcbJIrJ1RPRGsk2n0kQf8U\nmFzpm+m8QiZPqewwGfMXYJpQfiNNU7//jyJq52c9HyBF+yJM3vS/v87KSUz/x0CTI/+/Q3jc\nUTep6dXKae7xGUDabTACICXxe5aC0v/aaVLT//kj4+TN39PUM6YXYIo+Pp7WHtXzF+8DpGT+\nv27kg6vPJKQ3wmTMX4ApqHyOjpMjfQuSp+MUtH9H34ny+YvzAVJa3xOAUNOrMDnyb0HyRCGE\n9EaavOX3xCEmHB9jMGLz87OYnxlIOUgNQPg0K6IXFtTbMqrXSA1GfG50DyAtoiVhWocmCScA\n5RVAWkz/JtIkxiAmPNQ0+dGmuc83ASiXMgOJbhvZ7P/7J+M0JTw+NaoXFIz4+9cJlC39ENXz\nABV6fGxAUTt/4T5AWt4XYApNb6PJln4AKTAYofL0V/Gt6T011H5v6AKktfx/Q3jc+zzTKBUn\n7/49rT01vcpT6PezNfnS3NC1N/nonl+AtK6vNPWC0gswBe3f0XeypR9A8vSh1PQqTylv6OZ1\nHwogre+rHaew9L/jWD17MEJIbwxGrNaHimz6aX0o8k2/zED6IHnqJrPUWETY+zAmhssrex/K\nJ63JFxntswFFL9oHkDaVo3JyahJN1fpA9dpP+Bwgba+5NFXO8a9GfSxQm4OVGUh028jRvhDV\nCx+r12hqMKKyA7VUH2rwlw6fbxb1A0i0/H+KwtPLwYilbuh2S62Gig2fZx/1A0gkfZWn4Bu6\nWjRCBirshm54+FwDaWKNpYGUbdQPIJH2NZAmNv1Unqbc0E3S9FOAmtz0U4BK1vRLXmMBpLz8\nmU2/AaTw+1CN5jb9es1t+vVavOmXrMaiCRKF6ZXIL/9104H9C5wWrF/+9tODdcvQdH+6acLU\nZWj6v8P0YfIyNP1XN42Yuow9jj/K9GLqMjCf6Vc5wt90pHWiAtPZulKTb/BODKfbWn62PpUq\nW8vP1qeaKk+F5Qiv06yRANJE2YITga90ssuTfndgWbfMDKTN+yjUfQ9QS0X9hvRLBStC+1ge\nrhC167T5hZqZPzl8rvw9Oeqn/K0FKzw1ljdY4amxvMEKT40FkOA7fS18Hhv1s8iW3gqSCprv\n+y1dY80GDSDty7d2pgJB84Hk6WOtXmN5QPOCFNw0BEi79r0gTW0azqyxhvS+GssHmg+k2Kah\nteSZgQStKw9X20cFPWCp8nA2eVT7KIAETdDiYK0MmhesYNAAEhQhL1ge0CaD5QFtMliKdgMS\ntT4GfMX3cDS1D6ZyEx3s8IA0P6oIkOCv6ceCpvwdDZrqAyT4H+HHgqbklxw0a8kBEvyM/dga\nbfJ9MmvJABL8T/JjazSfb91zZiBBUEp5uNFlzQkgQVACASQISqBVQXpcT4zrdHm4N0QfCX5m\n/ooglQc26ujcFCDBz8xfEaQLK76fzaf3vWAX16YACX5m/oogFew5fH6ywrUpQIKfmb8iSIzZ\n/ujWjEoyzRKWWK64NF7zTm1ZI0EQTa3bR7q/m0/z+0gQRFNrhr+PQuPtUCYuFQRtqXXvI12a\n+0jF6Yr7SPA/y89sZAPdAwl/3z5Agg8/gQ+Q4MNP4AMk+PAT+JmBBEE0BZAgKIEAEgQlUGYg\n0W0jw9+3D5Dgw0/gAyT48BP4AAk+/AQ+UZBselkd+PA39adf5SuAZBX1cB7KF6ddlQ8g2YXy\nxWlX5QNIdqF8cdpV+QCSXShfnHZVPoBkF8oXp12VDyDZhfLFaVflA0h2oXxx2lX5AJJdKF+c\ndlU+gGQXyhenXZUPINmF8sVpV+UDSHahfHHaVfkAkl0oX5x2Vb4tQYKgjxFAgqAEAkgQlEAA\nCYISCCBBUAIBJAhKIIAEQQkEkCAogQASBCUQQIKgBAJIEJRAAAmCEgggQVACASQISiCABEEJ\nBJAgKIFWB+lSsOJSSqtulJ4A08p3O2gF3lJq+cozY+fnduVRZTi/1YPQCVbLN3vWfEVrg3Rs\nin0QVz0TfI1k0sp3aVYUVEjSylc0K8iQZDi/VVnQOcFq+Z6ZgvRgxbN6Fuwxrqr/onOctfI9\n2bnkdeZ5y1KN0sp34SW7sNOWhRJkOL9VdaJzgg3nN9GhWxmkC7vX/3+z67Dmxo50jrNevlNb\nNipF1MpXMF5XUime4fzyv8gUTy/fTSpqhFYG6cTelfwzwC50LgNT+VpRKaKlfKzYpDS6DOV7\nU/ql1Mp3Y7c0Oa8MEtN+4J90rtLKVL5GJTtuUBiDzOW7pLoaomUo35G96ZxgrXwndj+z4hKf\n8+YgaX9tKgtIt6ZFQECm8tVNpwQXQhrp5buyb0In2ABSo/jfSYAkyQzSu6DSmTeV73YqUjX0\no6WVr2lF0TnBWvlYzXlVJqjSAZIkY/nKgkjDzlpjnqm07bTyHfiNAzon2Np0Pxg2nqSVQSqI\ng2Qs3zH6KCeTsXz8QiASbVDLd27axHROsOX4JSjhJlG7txx1onOcTeV7H47vzcqjynj8KjqH\nUC0fG7RlqUYtd/xWBuna/ELd5d4xlaNcmcp3pxKwa6SVr72P9I5vmqSRWj5qIFmPX3QnePuR\nDaRA0sr3JsWRZWRDeaLSRzKeX0In2HD8Lk2wIToqu/ZYu8MYbRwOL53jrJfvTOsXVT9+RaLw\nbSKZzi+lE6yWr2yPX/z9g7VBKpvRt81HkiCp5SPWNDEcv3rFgUh9VJnPL6UTrJWvTHT88DwS\nBCUQQIKgBAJIEJRAAAmCEgggQVACASQISiCABEEJBJAgKIEAEgQlEECCoAQCSBCUQAAJghII\nIEFQAgEkCEoggARBCQSQICiBABIEJRBAgqAEAkgQlEAACYISCCBBUAIBJAhKIIAEQQkEkCAo\ngQASBCUQQIKgBAJIEJRAAAmCEgggQVACASQISiCABEEJBJAgKIEAEgQlEEBKr+e5YOfwl5Kq\n77O7m1bO2Ut55u90bP6Xs7Nn3ud3H19OfIp+veouBJCS69K+K/PwDtxeuawPzLBy1l5OtX9t\n/w8E6dAZ7+Zd361KFvpFdi2AlFpXVtS/4WW9CLwAlcs67IWrIXthDQJsAgj9vo/iy4kvZN70\nTFkAKbHe/aV9ZuewFHNACtoLC6vb9H1/CxUSr5K+w3PYrQBSYl3q1lSj8tS8K/t26F6azVh5\nYKd+0RhFZ1S8U8Lat213r1BvL2kh8fvEiqt/L2O+TFCX3aVgx3clZF7Imfevbz8chQLX9dNh\niQP1YQJIiXVkT/lPLn5hMnbiff9u0XRdeoO31BpdZJDExAVrejy+vYz56iA1WxVll/lJz7zb\n94N1fLUlrW7sseQR+wwBpMSSW1LfrHhWz4I3juqLtqyGxZ0vyiO7tykY3+K7STs2yNTEN3bw\n7kXIV2zatdnV1rmFVSlAn3lXcbWUdiWtqicTu0yQUQApseRL/NRc0fe2hni0/qM1+EVa8qbT\nmEIBSUusbGnai5CvCtKJ51Gyov9LKECfeZvi2HaRWF8RlQzhBq8AUmIZA83jRTou+lZXt+Z9\nvx4VkLTENpCkDYd8VZDk1FoBtN3Y9gaZBJAS6zT0Xu7lBJCOhsvfAZJjLwBpEwGkxLr2EYHH\n2OkwgjSk4B/P7HC7v8NB8u1F2IcVJMN2AGm2AFJiDXd4jjz21fdeTurl2RrDmmatCpKWeLyg\nrXsR8lVBOip9pLu+ndJH6nz0kQIEkFLr3Iw54HdmKiXw1tjdojGqWw8J79g/+z5Sf6tHSyzU\nDLa9CPmqIN14FO7SR+2UAvTF4Pu+9GGRbl8PRO38AkjJdRRHwYm3ghq3vzxbg9crfE03co5f\nwQfWVxpaYrGJZdmLkK8KknIfSS5A+3+770fbbhz2dsV9JL8AUnp9n+qLuh9WcyuGwQmVsGgG\nFrDzcL2f6ySPpnH2OAwgqYmlvop5L0K+Gkgc15M0skEoQPN/u+9hZEOXOUY2BAggQZru0jjX\nN8ODFH4BJEgXRn9PFkCCdOF5pMkCSJBB9/HhjAnP+u5ZAAmCEgggQVACASQISiCABEEJBJAg\nKIEAEgQlEECCoAQCSBCUQAAJghIIIEFQAgEkCEoggARBCQSQICiBABIEJRBAgqAEAkgQlEAA\nCYISCCBBUAIBJAhKIIAEQQkEkCAogQASBCUQQIKgBAJIEJRAAAmCEgggQVACASQISqD/D4ug\n4dil2334AAAAAElFTkSuQmCC",
      "text/plain": [
       "Plot with title \"Sample size estimation for correction studies\n",
       " sig=0.05(two.side)\""
      ]
     },
     "metadata": {
      "image/png": {
       "height": 420,
       "width": 420
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "r = seq(0.1,0.5,0.01)\n",
    "nr = length(r)\n",
    "\n",
    "p = seq(0.4,0.9,0.1)\n",
    "np = length(p)\n",
    "\n",
    "samsize <- array(numeric(nr*np),dim=c(nr,np))\n",
    "for (i in 1:np){\n",
    "    for (j in 1:nr){\n",
    "        result <- pwr.r.test(n=NULL, r=r[j],\n",
    "                             sig.level=0.05,\n",
    "                             power=p[i],\n",
    "                            alternative = \"two.side\")\n",
    "        samsize[j,i] = ceiling(result$n)\n",
    "    }\n",
    "}\n",
    "\n",
    "xrange <- range(r)\n",
    "yrange <- round(range(samsize))\n",
    "colors <- rainbow(np)\n",
    "plot(xrange,yrange,type=\"n\",\n",
    "    xlab = \"Correlation Coefficient(r)\",\n",
    "    ylab = \"Sample Size (n)\")\n",
    "\n",
    "for (i in 1:np){\n",
    "    lines(r,samsize[,i],type=\"l\",lwd=2,col=colors[i])\n",
    "}\n",
    "\n",
    "abline(v=0,h=seq(0,yrange[2],nr),lty=2,col=\"grey89\")\n",
    "abline(h=0,v=seq(xrange[1],xrange[2],0.02),lty=2,col=\"grey89\")\n",
    "title(\"Sample size estimation for correction studies\\n sig=0.05(two.side)\")\n",
    "legend(\"topright\",title=\"power\",as.character(p),fill=colors)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "671a0293-2f0c-4ebe-9712-d8dd5bbb2ffd",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "R",
   "language": "R",
   "name": "ir"
  },
  "language_info": {
   "codemirror_mode": "r",
   "file_extension": ".r",
   "mimetype": "text/x-r-source",
   "name": "R",
   "pygments_lexer": "r",
   "version": "4.4.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
